Building Caches using Multi-Threaded State Machines

نویسندگان

  • Wanda Chiu
  • John H. Hartman
چکیده

Designing a client-side cache for a distributed file system is complicated by concurrent accesses by applications, network communication with the server, and complex relationships between the data in the cache. Despite these difficulties, caches are usually built using threads or finite state machines as the programming model, even though both are inadequate for the task. We have created an infrastructure for cache development based on multi-threaded state machines, which attempts to capitalize on the benefits of both programming models. The state machine allows the global state of the cache to be carefully controlled, allowing interactions between concurrent cache operations to be reasoned about and verified. Threads allow individual operations to maintain their own local state, and propagate that state across transitions of the state machine. We created a prototype of this infrastructure and used it to implement a write-through file block cache that provides multiple-reader/single-writer access to its blocks; although this is a relatively simple cache protocol, it is much easier to implement using multi-threaded state machines than using either threads or finite state machines alone.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Building a Domain-Knowledge Guided System Software Environment to Achieve High-Performance of Multi-core Processors

Although multi-core processors have become dominant computing units in basic system platforms from laptops to supercomputers, software development for effectively running various multi-threaded applications on multi-cores has not made much progress, and effective solutions are still limited to high performance applications relying on exiting parallel computing technology. In practice, majority ...

متن کامل

Dynamic Capacity-Speed Tradeoffs in SMT Processor Caches

Caches are designed to provide the best tradeoff between access speed and capacity for a set of target applications. Unfortunately, different applications, and even different phases within the same application, may require a different capacity-speed tradeoff. This problem is exacerbated in a Simultaneous Multi-Threaded (SMT) processor where the optimal cache design may vary drastically with the...

متن کامل

Anaconda a Real-time Control-flow/data-flow Hybrid Processor

Typically real-time applications are written in a multi-threaded language and are executed on single threaded control-ow (von Neumann) processors. A software scheduler is used to switch between the application's multiple threads, thereby simulating a multi-threaded processor. Unfortunately software scheduling is problematic if real-time constraints are to be guaranteed and therefore static (pre...

متن کامل

Automated class testing using threaded multi-way trees to represent the behaviour of state machines

Extensive test data is required to demonstrate that " few " errors exist in software. If the process of software testing could be carried out automatically, testing efficiency would increase and the cost of software development would be significantly reduced. In this paper, a tool for detecting errors in object oriented classes is proposed. The approach uses a state-based testing method. The me...

متن کامل

Fine-Grained Multithreading Support for Hybrid Threaded MPI Programming

As high-end computing systems continue to grow in scale, recent advances in multiand many-core architectures have pushed such growth toward more denser architectures, that is, more processing elements per physical node, rather than more physical nodes themselves. Although a large number of scientific applications have relied so far on an MPI-everywhere model for programming high-end parallel sy...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999